package com.sinog.core.utilbean;

/**
 * @desc 业务码
 * @author zy
 * @date   2019年6月3日 下午6:02:22
 */
public enum ReturnCode {

    /**
     *  为适应系统的扩展性,我们可以根据业务需要,进行业务返回码设计.当前参考方案如下:
     *  # 1 表示调用成功,-1 调用失败的默认值
     *  #1000～1999 区间表示参数错误
     *  #2000～2999 区间表示用户错误
     *  #3000～3999 区间表示接口异常
     *  这样前端开发人员在得到返回值后，根据状态码就可以知道，大概什么错误，再根据message相关的信息描述，可以快速定位。
     */
    AREASREDIS(2,"存在"),
    FAILURE(-1, "失败"),
    SUCCESS(1, "成功"),
    USER_NOT_FONUD(2004,"用户不存在"),
    USER_ALREADY_EXIST(2001,"用户已存在"),
    SAVE_FAILED(4000,"保存失败"),
    SAVE_FAILED_SJ(6000,"省社矫机构已存在"),
    UPDATE_FAILED(4000,"修改失败"),
    DELETE_FAILED(4000,"删除失败"),
    DELETE_FILL_FAILED(4000,"非本人上传文件,不可删除"),
    SELECT_FAILED(4000,"查询失败"),
    FILE_NOT_FOUND(4001,"文件不存在"),
    ZCWJ_NOT_CURRENT_USER(4000,"非本人发布,不可操作"),
    ALL_FAILURE(5001,"该批次全部失败"),
    INTERFACE_USER_NOT_FOUND(7001,"接口用户不存在"),
    YEAR_NOT_ALLOW(7002,"年度已鉴定"),
    FUXING_EXISTS(4099,"该服刑人员未出狱,请勿重复添加"),
    BASEINFO_EXISTS(4099,"系统中存在该服刑人员信息，但未录入服刑信息,请勿重复添加"),
    NO_COMMIT(5599,"请勿重复提交"),
    NO_ASSESSORY(-2,"请上传公安附件"),
    NO_PROVE(-3,"请上传衔接证据"),
    PARAM_TYPE_FAILURE(-1, "参数值类型不正确,请检查"),
    PASSWORD_NOT_NULL(9998, "新密码不能为空，请修改"),
    PASSWORD_NOT_MZ(9999, "新密码必须包含大小写字母、数字、字符（8-30位）"),
    FORBIDDEN_BASE(9002,"当前基地为禁用"),
    NUMBER_OVERFLOW(8001,"该基地人数已满"),
    NO_PERMISSION(9003,"无权访问"),
    TEMPLATE_DATA_NO_IMPORT(9004,"请导入模版数据"),
    JIEXI_FAIL(9005,"表格中有不合法的日期格式，请检查！"),
    DELETE_SUCCESS(4003,"删除成功"),
    ;
    private final Integer code;
    private final String message;

    ReturnCode(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
    //get方法 枚举得到code
    public Integer code() {
        return code;
    }

    public String message() {
        return message;
    }
}